{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from numpy import genfromtxt\n",
    "import matplotlib.pyplot as plt\n",
    "from mpl_toolkits.mplot3d import Axes3D\n",
    "#%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 100.     4.     9.3]\n",
      " [  50.     3.     4.8]\n",
      " [ 100.     4.     8.9]\n",
      " [ 100.     2.     6.5]\n",
      " [  50.     2.     4.2]\n",
      " [  80.     2.     6.2]\n",
      " [  75.     3.     7.4]\n",
      " [  65.     4.     6. ]\n",
      " [  90.     3.     7.6]\n",
      " [  90.     2.     6.1]]\n"
     ]
    }
   ],
   "source": [
    "#载入数据\n",
    "data = np.genfromtxt(\"Delivery.csv\",delimiter=\",\")\n",
    "print(data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 100.    4.]\n",
      " [  50.    3.]\n",
      " [ 100.    4.]\n",
      " [ 100.    2.]\n",
      " [  50.    2.]\n",
      " [  80.    2.]\n",
      " [  75.    3.]\n",
      " [  65.    4.]\n",
      " [  90.    3.]\n",
      " [  90.    2.]]\n",
      "[ 9.3  4.8  8.9  6.5  4.2  6.2  7.4  6.   7.6  6.1]\n"
     ]
    }
   ],
   "source": [
    "x_data = data[:,:-1]  #取全部行，不包含最后一列的数据\n",
    "y_data = data[:,-1]  #取最后一列中所有行的数据\n",
    "print(x_data)\n",
    "print(y_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#学习率\n",
    "lr = 0.0001\n",
    "#参数\n",
    "theta0 = 0\n",
    "theta1 = 0\n",
    "theta2 = 0\n",
    "#迭代次数\n",
    "epochs = 1000\n",
    "\n",
    "#最小二乘法\n",
    "def minimum_squares(x_data,y_data,theta0,theta1,theta2):\n",
    "    totalError =0\n",
    "    for i in range(0,len(x_data)):\n",
    "        totalError += (y_data[i] -(x_data[i,0]*theta1 + x_data[i,1]*theta2 + theta0)) **2 \n",
    "    return totalError / float(len(x_data))\n",
    "\n",
    "def gradient_descent_runner(x_data,y_data,theta0,theta1,theta2,lr,epochs):\n",
    "    #计算总数据量\n",
    "    m = float(len(x_data))\n",
    "    #循环epochs次\n",
    "    for i in range (epochs):\n",
    "        #设置临时量\n",
    "        theta0_grad = 0\n",
    "        theta1_grad = 0\n",
    "        theta2_grad = 0\n",
    "        \n",
    "        #计算梯度总合再求平均\n",
    "        for j in range (0,len(x_data)):\n",
    "            theta0_grad += (1/m) *((x_data[j,0]*theta1 + x_data[j,1]*theta2 +theta0) - y_data[j])\n",
    "            theta1_grad += (1/m) *((x_data[j,0]*theta1 + x_data[j,1]*theta2 +theta1) - y_data[j]) * x_data[j,0]\n",
    "            theta2_grad += (1/m) *((x_data[j,0]*theta1 + x_data[j,1]*theta2 +theta2) - y_data[j]) * x_data[j,1]\n",
    "            \n",
    "        #更新theta0,theta1,theta2的值\n",
    "        theta0 = theta0 - (lr*theta0_grad)\n",
    "        theta1 = theta1 - (lr*theta1_grad)\n",
    "        theta2 = theta2 - (lr*theta2_grad)\n",
    "        \n",
    "    return theta0,theta1,theta2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Staring theta0 = 0,theta1 = 0,theta2 = 0,error = 47.279999999999994\n"
     ]
    }
   ],
   "source": [
    "print(\"Staring theta0 = {0},theta1 = {1},theta2 = {2},error = {3}\".\n",
    "      format(theta0,theta1,theta2,minimum_squares(x_data,y_data,theta0,theta1,theta2)))\n",
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x204c3deefd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.figure().add_subplot(111,projection = '3d')\n",
    "ax.scatter(x_data[:,0],x_data[:,1],y_data,c = 'r',marker = 'o',s = 100)\n",
    "x0 = x_data[:,0]\n",
    "x1 = x_data[:,1]\n",
    "\n",
    "#生成网格矩阵\n",
    "x0,x1 = np.meshgrid(x0,x1)\n",
    "z = theta0 + theta1*x0 + theta2*x1\n",
    "\n",
    "#画3D图\n",
    "ax.plot_surface(x0,x1,z)\n",
    "#设置坐标轴\n",
    "ax.set_xlabel('Miles')\n",
    "ax.set_ylabel('Num of Deliveries')\n",
    "ax.set_zlabel('Time')\n",
    "\n",
    "#显示图像\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Running.......\n",
      "After 1000 iterations theta0 = 0.013763851366608267,theta1 = 0.0790655049724104,theta2 = 0.0844384675460311,error = 0.7648240238211372\n"
     ]
    }
   ],
   "source": [
    "print(\"Running.......\")\n",
    "theta0,theta1,theta2 = gradient_descent_runner(x_data,y_data,theta0,theta1,theta2,lr,epochs)\n",
    "print(\"After {0} iterations theta0 = {1},theta1 = {2},theta2 = {3},error = {4}\".\n",
    "      format(epochs,theta0,theta1,theta2,minimum_squares(x_data,y_data,theta0,theta1,theta2)))  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nrpXUANKAnVJtYvZBZTcx2gkri90AVa2emjVrhoMHD+K8887DKaecYkud5rwnXVYTSYRF27BIJAKO\n4zSXWjSzvSeLUxAEw7ULtMyvp/ZDoF49hH77DfVUJDWJZBJxnoff7884Hqnflm5omiMajYrBMq2l\nM/USMZFLMpkU22zH43H0798fO3bsyBi/e/fuWLRokShXi8fjolXMjseirumS1QJ2cq4bep+UAPkg\nSWMfalZbus2aVSXGNGrUCBdddBG+/fZbh3TVQGTA1iygMotaLyYjpMuWdqRC4mYDM3KWAusi0eqy\naNe9O37ZsgWtVYJk2w8dQtNu3eDxeJBMJsU5pH5bdg2JRAI+n8+00iMbEZOfOBqNokePHtUy2s49\n91y899574u8m3UrLBaRYa6826oithpqfmIrZqGWNGbHacyVFszIxgu7hwsJChMNhfPrpp3jwwQct\nGVuKvCdd9sdlyc9oeUc923u2sy/528LhsOGLTskfLQ1gKZG6NDmjdevW2NisGTbv24cuMuXvDldU\nYEM6jUG9emXchHJ+20QigVgsBo/Hg8LCQtt81HTjHzlyRFb+M2bMGLz88suiFUtWm5yPGEBGtwV6\ngNCxksVuBdHYCatJjIiYzhVJ+6RZY0ari9kdSCNY6V7Yv38/LrroInFnddlll1Ur0GQV8p50U6kU\nKioqkEql4PV6RevMKLRs76namBZFgl6wvjY2gGWkG4XL5cLgsWPxxb//jX2//oqTi4pQEggglkxi\nx5Ej2Onzofef/gSfzydmkxUVFYkWIq1ByW9rNUpLS9G6detqr19zzTV4+umnM16TbpvJBSEXQJIS\nMWWRUaCTPlMbyxjaCZbM5fzEaqnOdkn8tIDGPnr0qGWk265dO3z//feWjJUNdYJ0ScxsNtlAzdLV\nqkiwIkDBBrDUdL1a1l9YWIgRl12GXbt2YcPatag8fBgevx8thg3DoFatxBsnEAggFouJsjOS1+nx\n22rF7t27MX/ePOzbuROC242nnn++2mfuuOMO1d5UattmLURMIntWmsZaxFKiAaCJiOuSy4IlYrXq\nYtKAHfs5q88FO2Z5eTk6dFDrU1c7kfek6/P5wPO8uK03A+n2HKiugMimSDCjgCArory8PGubHD1w\nu93o0KEDOnTokHE8brcbfr9ftGh5nhcDZMAxZYOFGXqxWAwPT5mCz+bNw8aDB6u9f8stt+DRRx81\n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\nqQH+D+G4p5fUJk7WAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x204c3ea2c18>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ax = plt.figure().add_subplot(111,projection = '3d')\n",
    "ax.scatter(x_data[:,0],x_data[:,1],y_data,c = 'r',marker = 'o',s = 100)\n",
    "x0 = x_data[:,0]\n",
    "x1 = x_data[:,1]\n",
    "\n",
    "#生成网格矩阵\n",
    "x0,x1 = np.meshgrid(x0,x1)\n",
    "z = theta0 + theta1*x0 + theta2*x1\n",
    "\n",
    "#画3D图\n",
    "ax.plot_surface(x0,x1,z)\n",
    "#设置坐标轴\n",
    "ax.set_xlabel('Miles')\n",
    "ax.set_ylabel('Num of Deliveries')\n",
    "ax.set_zlabel('Time')\n",
    "\n",
    "#显示图像\n",
    "plt.show()\n"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python [Root]",
   "language": "python",
   "name": "Python [Root]"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.5.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
